package com.ruoyi.miaomiao.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 f_order
 * 
 * @author ruoyi
 * @date 2022-07-26
 */
@ApiModel(value = "订单对象", description = "订单对象的属性描述")
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    @ApiModelProperty(value = "订单id", name = "orderId", example = "5000000001")
    private Long orderId;

    /** 订单所属人id */
    @ApiModelProperty(value = "订单所属人id", name = "userId", example = "100000001")
    @Excel(name = "订单所属人id")
    private Long userId;

    /** 商品id */
    @ApiModelProperty(value = "商品id", name = "goodsId", example = "123456791")
    @Excel(name = "商品id")
    private Long goodsId;

    /** 商品数量 */
    @ApiModelProperty(value = "商品数量", name = "goodsNumber", example = "99")
    @Excel(name = "商品数量")
    private Long goodsNumber;

    /** 订单状态 */
    @ApiModelProperty(value = "订单状态", name = "orderStatu", example = "1：正常，0：停用")
    @Excel(name = "订单状态")
    private String orderStatu;

    /** 订单总额 */
    @ApiModelProperty(value = "订单总额", name = "orderSum", example = "99")
    @Excel(name = "订单总额")
    private Long orderSum;

    /** 订单实付款 */
    @ApiModelProperty(value = "订单实付款", name = "orderPay", example = "99")
    @Excel(name = "订单实付款")
    private Long orderPay;

    /** 发货地址 */
    @ApiModelProperty(value = "发货地址", name = "sendAddress", example = "台湾联通")
    @Excel(name = "发货地址")
    private String sendAddress;

    /** 收货地址 */
    @ApiModelProperty(value = "收货地址", name = "receiveAddress", example = "台湾联通")
    @Excel(name = "收货地址")
    private String receiveAddress;

    /** 支付时间 */
    @ApiModelProperty(value = "支付时间", name = "payTime", example = "2022-08-02 16:50:55")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 发货时间 */
    @ApiModelProperty(value = "发货时间", name = "sendTime", example = "2022-08-02 16:50:55")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /** 订单完成时间 */
    @ApiModelProperty(value = "订单完成时间", name = "endTime", example = "2022-08-02 16:50:55")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setGoodsNumber(Long goodsNumber) 
    {
        this.goodsNumber = goodsNumber;
    }

    public Long getGoodsNumber() 
    {
        return goodsNumber;
    }
    public void setOrderStatu(String orderStatu) 
    {
        this.orderStatu = orderStatu;
    }

    public String getOrderStatu() 
    {
        return orderStatu;
    }
    public void setOrderSum(Long orderSum) 
    {
        this.orderSum = orderSum;
    }

    public Long getOrderSum() 
    {
        return orderSum;
    }
    public void setOrderPay(Long orderPay) 
    {
        this.orderPay = orderPay;
    }

    public Long getOrderPay() 
    {
        return orderPay;
    }
    public void setSendAddress(String sendAddress) 
    {
        this.sendAddress = sendAddress;
    }

    public String getSendAddress() 
    {
        return sendAddress;
    }
    public void setReceiveAddress(String receiveAddress) 
    {
        this.receiveAddress = receiveAddress;
    }

    public String getReceiveAddress() 
    {
        return receiveAddress;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setSendTime(Date sendTime) 
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime() 
    {
        return sendTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("userId", getUserId())
            .append("goodsId", getGoodsId())
            .append("goodsNumber", getGoodsNumber())
            .append("orderStatu", getOrderStatu())
            .append("orderSum", getOrderSum())
            .append("orderPay", getOrderPay())
            .append("sendAddress", getSendAddress())
            .append("receiveAddress", getReceiveAddress())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("payTime", getPayTime())
            .append("sendTime", getSendTime())
            .append("endTime", getEndTime())
            .toString();
    }
}
